package com.coocaa.aries.core.base;


import com.coocaa.aries.core.base.model.BaseQueryModel;
import com.coocaa.aries.core.base.model.PageResultModel;

import java.util.List;
import java.util.Map;

/**
 * @author bijiahao
 * @date : 2018/9/6.
 * @description
 */
public interface IBaseBiz<T> {
    /**
     * 批量保存
     *
     * @param entityList
     * @return
     */
    boolean insertBatch(List<T> entityList);

    /**
     * 新增
     *
     * @param entity
     * @return
     */
    T add(T entity);

    /**
     * 更新-根据自增ID
     *
     * @param entity
     * @return
     */
    T updateById(T entity);

    /**
     * 查询-根据自增ID
     *
     * @param id
     * @return
     */
    T queryById(Integer id);

    /**
     * 通用分页数据
     *
     * @param params
     * @return
     */
    PageResultModel<T> getCommonPageResult(Map params);

    /**
     * 通用分页数据
     *
     * @param model
     * @return
     */
    PageResultModel<T> getCommonPageResult(BaseQueryModel model);
}
